package com.explorati.LeetCode18.deleteNode;

/**
 * @ Author : Weijian_Wang
 * @ Date : Created in 17:43 2020/9/13 0013
 * @ Description ：
 */
public class Solution {
    public class ListNode {
       int val;
       ListNode next;
       ListNode(int x) { val = x; }
    }

    /**
     * 给定单向链表的头指针和一个要删除的节点的值，定义一个函数删除该节点。
     * 返回删除后的链表的头节点。
     * @param head
     * @param val
     * @return
     */
    public ListNode deleteNode(ListNode head, int val) {

        if(head == null) {
            return null;
        }

        ListNode node = deleteNode(head.next, val);

        if(head.val == val) {
            return node;
        }else {
            head.next = node;
            return head;
        }
    }

}
